home *** CD-ROM | disk | FTP | other *** search
- unit SHDOCVW;
-
- { Conversion log:
- Property TWebBrowser.Type renamed to Type_: Identifier is a reserved word }
-
- interface
-
- uses Ole2, OleCtl, Classes, Graphics, OleCtrls;
-
- const
-
- { CommandStateChangeConstants }
-
- CSC_UPDATECOMMANDS = -1;
- CSC_NAVIGATEFORWARD = 1;
- CSC_NAVIGATEBACK = 2;
-
- { OLECMDID }
-
- OLECMDID_OPEN = 1;
- OLECMDID_NEW = 2;
- OLECMDID_SAVE = 3;
- OLECMDID_SAVEAS = 4;
- OLECMDID_SAVECOPYAS = 5;
- OLECMDID_PRINT = 6;
- OLECMDID_PRINTPREVIEW = 7;
- OLECMDID_PAGESETUP = 8;
- OLECMDID_SPELL = 9;
- OLECMDID_PROPERTIES = 10;
- OLECMDID_CUT = 11;
- OLECMDID_COPY = 12;
- OLECMDID_PASTE = 13;
- OLECMDID_PASTESPECIAL = 14;
- OLECMDID_UNDO = 15;
- OLECMDID_REDO = 16;
- OLECMDID_SELECTALL = 17;
- OLECMDID_CLEARSELECTION = 18;
- OLECMDID_ZOOM = 19;
- OLECMDID_GETZOOMRANGE = 20;
- OLECMDID_UPDATECOMMANDS = 21;
- OLECMDID_REFRESH = 22;
- OLECMDID_STOP = 23;
- OLECMDID_HIDETOOLBARS = 24;
- OLECMDID_SETPROGRESSMAX = 25;
- OLECMDID_SETPROGRESSPOS = 26;
- OLECMDID_SETPROGRESSTEXT = 27;
- OLECMDID_SETTITLE = 28;
- OLECMDID_SETDOWNLOADSTATE = 29;
- OLECMDID_STOPDOWNLOAD = 30;
- OLECMDID_ONTOOLBARACTIVATED = 31;
- OLECMDID_FIND = 32;
- OLECMDID_DELETE = 33;
- OLECMDID_HTTPEQUIV = 34;
- OLECMDID_HTTPEQUIV_DONE = 35;
- OLECMDID_ENABLE_INTERACTION = 36;
- OLECMDID_ONUNLOAD = 37;
- OLECMDID_PROPERTYBAG2 = 38;
- OLECMDID_PREREFRESH = 39;
-
- { OLECMDF }
-
- OLECMDF_SUPPORTED = 1;
- OLECMDF_ENABLED = 2;
- OLECMDF_LATCHED = 4;
- OLECMDF_NINCHED = 8;
-
- { OLECMDEXECOPT }
-
- OLECMDEXECOPT_DODEFAULT = 0;
- OLECMDEXECOPT_PROMPTUSER = 1;
- OLECMDEXECOPT_DONTPROMPTUSER = 2;
- OLECMDEXECOPT_SHOWHELP = 3;
-
- { tagREADYSTATE }
-
- READYSTATE_UNINITIALIZED = 0;
- READYSTATE_LOADING = 1;
- READYSTATE_LOADED = 2;
- READYSTATE_INTERACTIVE = 3;
- READYSTATE_COMPLETE = 4;
-
- { ShellWindowTypeConstants }
-
- SWC_EXPLORER = 0;
- SWC_BROWSER = 1;
- SWC_3RDPARTY = 2;
- SWC_CALLBACK = 4;
-
- { ShellFolderViewOptions }
-
- SFVVO_SHOWALLOBJECTS = 1;
- SFVVO_SHOWEXTENSIONS = 2;
- SFVVO_SHOWCOMPCOLOR = 8;
- SFVVO_SHOWSYSFILES = 32;
- SFVVO_WIN95CLASSIC = 64;
- SFVVO_DOUBLECLICKINWEBVIEW = 128;
- SFVVO_DESKTOPHTML = 512;
-
- { ShellSpecialFolderConstants }
-
- ssfDESKTOP = 0;
- ssfPROGRAMS = 2;
- ssfCONTROLS = 3;
- ssfPRINTERS = 4;
- ssfPERSONAL = 5;
- ssfFAVORITES = 6;
- ssfSTARTUP = 7;
- ssfRECENT = 8;
- ssfSENDTO = 9;
- ssfBITBUCKET = 10;
- ssfSTARTMENU = 11;
- ssfDESKTOPDIRECTORY = 16;
- ssfDRIVES = 17;
- ssfNETWORK = 18;
- ssfNETHOOD = 19;
- ssfFONTS = 20;
- ssfTEMPLATES = 21;
-
- type
-
- TWebBrowserStatusTextChange = procedure(Sender: TObject; const Text: string) of object;
- TWebBrowserProgressChange = procedure(Sender: TObject; Progress, ProgressMax: Integer) of object;
- TWebBrowserCommandStateChange = procedure(Sender: TObject; Command: Integer; Enable: TOleBool) of object;
- TWebBrowserTitleChange = procedure(Sender: TObject; const Text: string) of object;
- TWebBrowserPropertyChange = procedure(Sender: TObject; const szProperty: string) of object;
- TWebBrowserBeforeNavigate2 = procedure(Sender: TObject; const pDisp: Variant; var URL, Flags, TargetFrameName, PostData, Headers: Variant; var Cancel: TOleBool) of object;
- TWebBrowserNewWindow2 = procedure(Sender: TObject; var ppDisp: Variant; var Cancel: TOleBool) of object;
- TWebBrowserNavigateComplete2 = procedure(Sender: TObject; const pDisp: Variant; var URL: Variant) of object;
- TWebBrowserDocumentComplete = procedure(Sender: TObject; const pDisp: Variant; var URL: Variant) of object;
- TWebBrowserOnVisible = procedure(Sender: TObject; Visible: TOleBool) of object;
- TWebBrowserOnToolBar = procedure(Sender: TObject; ToolBar: TOleBool) of object;
- TWebBrowserOnMenuBar = procedure(Sender: TObject; MenuBar: TOleBool) of object;
- TWebBrowserOnStatusBar = procedure(Sender: TObject; StatusBar: TOleBool) of object;
- TWebBrowserOnFullScreen = procedure(Sender: TObject; FullScreen: TOleBool) of object;
- TWebBrowserOnTheaterMode = procedure(Sender: TObject; TheaterMode: TOleBool) of object;
-
- TWebBrowser = class(TOleControl)
- private
- FOnStatusTextChange: TWebBrowserStatusTextChange;
- FOnProgressChange: TWebBrowserProgressChange;
- FOnCommandStateChange: TWebBrowserCommandStateChange;
- FOnDownloadBegin: TNotifyEvent;
- FOnDownloadComplete: TNotifyEvent;
- FOnTitleChange: TWebBrowserTitleChange;
- FOnPropertyChange: TWebBrowserPropertyChange;
- FOnBeforeNavigate2: TWebBrowserBeforeNavigate2;
- FOnNewWindow2: TWebBrowserNewWindow2;
- FOnNavigateComplete2: TWebBrowserNavigateComplete2;
- FOnDocumentComplete: TWebBrowserDocumentComplete;
- FOnOnQuit: TNotifyEvent;
- FOnOnVisible: TWebBrowserOnVisible;
- FOnOnToolBar: TWebBrowserOnToolBar;
- FOnOnMenuBar: TWebBrowserOnMenuBar;
- FOnOnStatusBar: TWebBrowserOnStatusBar;
- FOnOnFullScreen: TWebBrowserOnFullScreen;
- FOnOnTheaterMode: TWebBrowserOnTheaterMode;
- protected
- procedure InitControlData; override;
- public
- procedure GoBack; stdcall;
- procedure GoForward; stdcall;
- procedure GoHome; stdcall;
- procedure GoSearch; stdcall;
- procedure Navigate(const URL: string; var Flags, TargetFrameName, PostData, Headers: Variant); stdcall;
- procedure Refresh; stdcall;
- procedure Refresh2(var Level: Variant); stdcall;
- procedure Stop; stdcall;
- procedure Quit; stdcall;
- procedure ClientToWindow(var pcx, pcy: Integer); stdcall;
- procedure PutProperty(const Property_: string; const vtValue: Variant); stdcall;
- function GetProperty(const Property_: string): Variant; stdcall;
- procedure Navigate2(var URL, Flags, TargetFrameName, PostData, Headers: Variant); stdcall;
- function QueryStatusWB(cmdID: TOleEnum): TOleEnum; stdcall;
- procedure ExecWB(cmdID, cmdexecopt: TOleEnum; var pvaIn, pvaOut: Variant); stdcall;
- procedure ShowBrowserBar(var pvaClsid, pvarShow, pvarSize: Variant); stdcall;
- property Application: Variant index 200 read GetVariantProp;
- property Parent: Variant index 201 read GetVariantProp;
- property Container: Variant index 202 read GetVariantProp;
- property Document: Variant index 203 read GetVariantProp;
- property TopLevelContainer: TOleBool index 204 read GetOleBoolProp;
- property Type_: string index 205 read GetStringProp;
- property LocationName: string index 210 read GetStringProp;
- property LocationURL: string index 211 read GetStringProp;
- property Busy: TOleBool index 212 read GetOleBoolProp;
- property Name: string index 0 read GetStringProp;
- property HWND: Integer index -515 read GetIntegerProp;
- property FullName: string index 400 read GetStringProp;
- property Path: string index 401 read GetStringProp;
- property ReadyState: TOleEnum index -525 read GetOleEnumProp;
- published
- property TabStop;
- property DragCursor;
- property DragMode;
- property ParentShowHint;
- property PopupMenu;
- property ShowHint;
- property TabOrder;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnStartDrag;
- property Left: Integer index 206 read GetIntegerProp write SetIntegerProp stored False;
- property Top: Integer index 207 read GetIntegerProp write SetIntegerProp stored False;
- property Width: Integer index 208 read GetIntegerProp write SetIntegerProp stored False;
- property Height: Integer index 209 read GetIntegerProp write SetIntegerProp stored False;
- property Visible: TOleBool index 402 read GetOleBoolProp write SetOleBoolProp stored False;
- property StatusBar: TOleBool index 403 read GetOleBoolProp write SetOleBoolProp stored False;
- property StatusText: string index 404 read GetStringProp write SetStringProp stored False;
- property ToolBar: Integer index 405 read GetIntegerProp write SetIntegerProp stored False;
- property MenuBar: TOleBool index 406 read GetOleBoolProp write SetOleBoolProp stored False;
- property FullScreen: TOleBool index 407 read GetOleBoolProp write SetOleBoolProp stored False;
- property Offline: TOleBool index 550 read GetOleBoolProp write SetOleBoolProp stored False;
- property Silent: TOleBool index 551 read GetOleBoolProp write SetOleBoolProp stored False;
- property RegisterAsBrowser: TOleBool index 552 read GetOleBoolProp write SetOleBoolProp stored False;
- property RegisterAsDropTarget: TOleBool index 553 read GetOleBoolProp write SetOleBoolProp stored False;
- property TheaterMode: TOleBool index 554 read GetOleBoolProp write SetOleBoolProp stored False;
- property AddressBar: TOleBool index 555 read GetOleBoolProp write SetOleBoolProp stored False;
- property Resizable: TOleBool index 556 read GetOleBoolProp write SetOleBoolProp stored False;
- property OnStatusTextChange: TWebBrowserStatusTextChange read FOnStatusTextChange write FOnStatusTextChange;
- property OnProgressChange: TWebBrowserProgressChange read FOnProgressChange write FOnProgressChange;
- property OnCommandStateChange: TWebBrowserCommandStateChange read FOnCommandStateChange write FOnCommandStateChange;
- property OnDownloadBegin: TNotifyEvent read FOnDownloadBegin write FOnDownloadBegin;
- property OnDownloadComplete: TNotifyEvent read FOnDownloadComplete write FOnDownloadComplete;
- property OnTitleChange: TWebBrowserTitleChange read FOnTitleChange write FOnTitleChange;
- property OnPropertyChange: TWebBrowserPropertyChange read FOnPropertyChange write FOnPropertyChange;
- property OnBeforeNavigate2: TWebBrowserBeforeNavigate2 read FOnBeforeNavigate2 write FOnBeforeNavigate2;
- property OnNewWindow2: TWebBrowserNewWindow2 read FOnNewWindow2 write FOnNewWindow2;
- property OnNavigateComplete2: TWebBrowserNavigateComplete2 read FOnNavigateComplete2 write FOnNavigateComplete2;
- property OnDocumentComplete: TWebBrowserDocumentComplete read FOnDocumentComplete write FOnDocumentComplete;
- property OnOnQuit: TNotifyEvent read FOnOnQuit write FOnOnQuit;
- property OnOnVisible: TWebBrowserOnVisible read FOnOnVisible write FOnOnVisible;
- property OnOnToolBar: TWebBrowserOnToolBar read FOnOnToolBar write FOnOnToolBar;
- property OnOnMenuBar: TWebBrowserOnMenuBar read FOnOnMenuBar write FOnOnMenuBar;
- property OnOnStatusBar: TWebBrowserOnStatusBar read FOnOnStatusBar write FOnOnStatusBar;
- property OnOnFullScreen: TWebBrowserOnFullScreen read FOnOnFullScreen write FOnOnFullScreen;
- property OnOnTheaterMode: TWebBrowserOnTheaterMode read FOnOnTheaterMode write FOnOnTheaterMode;
- end;
-
- TShellFolderViewOC = class(TOleControl)
- private
- FOnSelectionChanged: TNotifyEvent;
- protected
- procedure InitControlData; override;
- public
- procedure SetFolderView(const pDisp: Variant); stdcall;
- published
- property OnSelectionChanged: TNotifyEvent read FOnSelectionChanged write FOnSelectionChanged;
- end;
-
- procedure Register;
-
- implementation
-
- {$J+}
-
- procedure TWebBrowser.InitControlData;
- const
- CEventDispIDs: array[0..17] of Integer = (
- $00000066, $0000006C, $00000069, $0000006A, $00000068, $00000071,
- $00000070, $000000FA, $000000FB, $000000FC, $00000103, $000000FD,
- $000000FE, $000000FF, $00000100, $00000101, $00000102, $00000104);
- CControlData: TControlData = (
- ClassID: (
- D1:$8856F961;D2:$340A;D3:$11D0;D4:($A9,$6B,$00,$C0,$4F,$D7,$05,$A2));
- EventIID: (
- D1:$34A715A0;D2:$6587;D3:$11D0;D4:($92,$4A,$00,$20,$AF,$C7,$AC,$4D));
- EventCount: 18;
- EventDispIDs: @CEventDispIDs;
- LicenseKey: nil;
- Flags: $00000000);
- begin
- ControlData := @CControlData;
- end;
-
- procedure TWebBrowser.GoBack;
- const
- DispInfo: array[0..7] of Byte = ($64,$00,$00,$00,$00,$01,$00,$00);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.GoForward;
- const
- DispInfo: array[0..7] of Byte = ($65,$00,$00,$00,$00,$01,$00,$00);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.GoHome;
- const
- DispInfo: array[0..7] of Byte = ($66,$00,$00,$00,$00,$01,$00,$00);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.GoSearch;
- const
- DispInfo: array[0..7] of Byte = ($67,$00,$00,$00,$00,$01,$00,$00);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.Navigate;
- const
- DispInfo: array[0..12] of Byte = ($68,$00,$00,$00,$00,$01,$05,$00,$08,$8C,$8C,$8C,$8C);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.Refresh;
- const
- DispInfo: array[0..7] of Byte = ($DA,$FD,$FF,$FF,$00,$01,$00,$00);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.Refresh2;
- const
- DispInfo: array[0..8] of Byte = ($69,$00,$00,$00,$00,$01,$01,$00,$8C);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.Stop;
- const
- DispInfo: array[0..7] of Byte = ($6A,$00,$00,$00,$00,$01,$00,$00);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.Quit;
- const
- DispInfo: array[0..7] of Byte = ($2C,$01,$00,$00,$00,$01,$00,$00);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.ClientToWindow;
- const
- DispInfo: array[0..9] of Byte = ($2D,$01,$00,$00,$00,$01,$02,$00,$83,$83);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.PutProperty;
- const
- DispInfo: array[0..9] of Byte = ($2E,$01,$00,$00,$00,$01,$02,$00,$08,$0C);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- function TWebBrowser.GetProperty;
- const
- DispInfo: array[0..8] of Byte = ($2F,$01,$00,$00,$0C,$01,$01,$00,$08);
- begin
- InvokeMethod(DispInfo, @Result);
- end;
-
- procedure TWebBrowser.Navigate2;
- const
- DispInfo: array[0..12] of Byte = ($F4,$01,$00,$00,$00,$01,$05,$00,$8C,$8C,$8C,$8C,$8C);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- function TWebBrowser.QueryStatusWB;
- const
- DispInfo: array[0..8] of Byte = ($F5,$01,$00,$00,$02,$01,$01,$00,$02);
- begin
- InvokeMethod(DispInfo, @Result);
- end;
-
- procedure TWebBrowser.ExecWB;
- const
- DispInfo: array[0..11] of Byte = ($F6,$01,$00,$00,$00,$01,$04,$00,$02,$02,$8C,$8C);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TWebBrowser.ShowBrowserBar;
- const
- DispInfo: array[0..10] of Byte = ($F7,$01,$00,$00,$00,$01,$03,$00,$8C,$8C,$8C);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure TShellFolderViewOC.InitControlData;
- const
- CEventDispIDs: array[0..0] of Integer = (
- $000000C8);
- CControlData: TControlData = (
- ClassID: (
- D1:$9BA05971;D2:$F6A8;D3:$11CF;D4:($A4,$42,$00,$A0,$C9,$0A,$8F,$39));
- EventIID: (
- D1:$62112AA2;D2:$EBE4;D3:$11CF;D4:($A5,$FB,$00,$20,$AF,$E7,$29,$2D));
- EventCount: 1;
- EventDispIDs: @CEventDispIDs;
- LicenseKey: nil;
- Flags: $00000000);
- begin
- ControlData := @CControlData;
- end;
-
- procedure TShellFolderViewOC.SetFolderView;
- const
- DispInfo: array[0..8] of Byte = ($00,$00,$02,$60,$00,$01,$01,$00,$0C);
- begin
- InvokeMethod(DispInfo, nil);
- end;
-
- procedure Register;
- begin
- RegisterComponents('OCX', [TWebBrowser, TShellFolderViewOC]);
- end;
-
- end.
-